<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>File Helper : Guia do Usuário CodeIgniter</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv="expires" content="-1" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="robots" content="all" />
<meta name="author" content="ExpressionEngine Dev Team" />
<meta name="description" content="Guia do Usuário do CodeIgniter" />
</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Alternar Tabela de Conteúdos" alt="Alternar Tabela de Conteúdos" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>Guia de Usuário CodeIgniter Versão 2.0.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Tabela de Conteúdos</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com.br/">Página Inicial</a> › 
<a href="../index.html">Guia de Usuário CodeIgniter</a> › Assistente de Arquivo
</td>
<td id="searchbox"><form method="get" action="http://www.google.com.br/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com.br/manual/" />Busca <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Ok" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Assistente de Arquivo</h1>

<p>O arquivo Assistente de Arquivo contém funções que auxiliam no trabalho com arquivos.</p>

<h2>Carregando este Assistente</h2>

<p>Este assistente é carregado usando o seguinte código:</p>
<code>$this->load->helper('file');</code>

<p>As funções disponíveis são as seguintes:</p>

<h2>read_file('<var>caminho</var>')</h2>

<p>Retorna os dados contidos dentro do arquivo especificado no caminho. Exemplo:</p>

<code>$string = read_file('./caminho/para/arquivo.php');</code>

<p>O caminho pode ser relativo ou absoluto no servidor. Retornará FALSE (booleano) caso falhe.</p>

<p class="important"><strong>Nota:</strong> O caminho é relativo ao seu arquivo index.php principal, NÃO ao seus arquivos controller ou view.
O Code Igniter usa um front controller de modo que sempre será relativo ao index principal do site.</p>

<p>Se o seu servidor estiver executando uma restrição open_basedir esta função
talvez não funcione se tentar acessar um arquivo que esteja um nível acima ao script chamado.</p>

<h2>write_file('<var>caminho</var>', <kbd>$dados</kbd>)</h2>

<p>Escreve os dados no arquivo especificado no caminho. Caso o arquivo não exista ele será criado. Exemplo:</p>

<code>
$dados = 'Alguns dados de arquivo';<br />
<br />
if ( ! write_file('./caminho/para/arquivo.php', $dados))<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp; echo 'Não foi possível escrever no arquivo';<br />
}<br />
else<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp; echo 'Dados escritos!';<br />
}</code>

<p>Você pode configurar opcionalmente o modo de escrita através do terceiro parâmetro:</p>

<code>write_file('./caminho/para/arquivo.php', $dados, <var>'r+'</var>);</code>

<p>O modo padrão é <kbd>wb</kbd>.  Por favor veja o <a href="http://php.net/fopen">Guia de Usuário do PHP</a> para mais opções.</p>

<p>Nota: Para que esta função escreva os dados no arquivo, este deve ter suas permissões configuradas para 'escrita' (666, 777, etc.).
Se o arquivo não existir ainda, então o diretório que o conterá deve ter essas permissões de escrita.</p>
<p class="important"><strong>Nota:</strong> O caminho é relativo ao seu arquivo index.php principal, NÃO ao seus arquivos controller ou view.
O CodeIgniter usa um front controller de modo que sempre será relativo ao index principal do site.</p>

<h2>delete_files('<var>caminho</var>')</h2>

<p>Apaga TODOS os arquivos dentro do caminho fornecido. Exemplo:</p>
<code>delete_files('./caminho/para/diretorio/');</code>

<p>Se o segundo parâmetro estiver configurado como <kbd>true</kbd>, qualquer diretório dentro do caminho fornecido também será apagado. Exemplo:</p>

<code>delete_files('./caminho/para/diretorio/', TRUE);</code>

<p class="important"><strong>Nota:</strong> Os arquivos devem ter permissão de escrita ou pertencerem ao sistema de modo que possam ser apagados.</p>

<h2>get_filenames('<var>caminho/para/diretorio/</var>')</h2>

<p>Pega um caminho do servidor como entrada e retorna um array contendo os nomes de todos os arquivos dentro dele. O caminho do arquivo
pode opcionalmente ser adicionado aos nomes de arquivos ao configurar o segundo parâmentro como TRUE.</p>

<h2>get_dir_file_info('<var>caminho/para/diretorio/</var>', <kbd>$top_level_only</kbd> = TRUE)</h2>

<p>Lê o diretório especificado e cria um array contendo os nome, tamanho, datas e permissões dos arquivos.  Sub-pastas contidas no caminho especifica somente serão lidas se forçado
	enviando um segundo parâmetro, <kbd>$top_level_only</kbd> para <samp>FALSE</samp>, pois isso pode ser uma operação intensiva.</p>

<h2>get_file_info('<var>caminho/para/arquivo</var>', <kbd>$file_information</kbd>)</h2>

<p>Dado um arquivo e um caminho, retorna o nome, caminho, tamanho, data de modificação. O segundo parâmetro permite que você declare explicitamente quais informações você quer que retorne, as opções são: nome, caminho_do_servidos, tamanho, data, permissões de leitura, permissões de escrita, executável, permissões. Retorna FALSE se o arquivo não pode ser encontrado</p>

<p class="important"><strong>Nota:</strong> A &quot;permissão de escrita&quot; usa a função do PHP is_writable() que é conhecida por ter problemas em servidores web IIS. Considere usar ao invés fileperms, que retorna informações para função PHP fileperms().</p>
<h2>get_mime_by_extension('<var>arquivo</var>')</h2>

<p>Traduz uma extensão de arquivo em um tipo mime baseado config/mimes.php. Retorna FALSE se não pode determinar o tipo, ou abra o arquivo de configuração mime.</p>
<p>
<code>$arquivo = &quot;somefile.png&quot;;<br />
echo $arquivo . ' tem o tipo mime de ' . get_mime_by_extension($arquivo);</code>
</p>
<p class="critical"><strong> Nota:</strong> Esta não é uma forma exata de determinar os tipos mime do arquivo, e é aqui estritamente como uma conveniência. Isto não deve ser usado por segurança.</p>

<h2>symbolic_permissions(<kbd>$permsissao</kbd>)</h2>

<p>Pega as permissões numéricas (como retornado por <kbd>fileperms()</kbd> e retorna a simbologia padrão de permissões do arquivo.</p>

<code>echo symbolic_permissions(fileperms('./index.php'));<br />
<br />
// -rw-r--r--</code>

<h2>octal_permissions(<kbd>$permissao</kbd>)</h2>

<p>Pega as permissões numéricas (como retornado por <kbd>fileperms()</kbd> e retorna uma notação de três caracteres octal de permissões de arquivo.</p>

<code>echo octal_permissions(fileperms('./index.php'));<br />
<br />
// 644</code>

</div>

<!-- END CONTENT -->


<div id="footer">
<p>
Tópico Anterior:&nbsp;&nbsp;<a href="email_helper.html">Assistente de Email</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Topo da Página</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">Guia de Usuário CodeIgniter</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Próximo Assunto:&nbsp;&nbsp;<a href="form_helper.html">Assistente de Formulário</a></p>
<p><a href="http://codeigniter.com.br">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>

</body>
</html>